Release notes

2025r10

Point in time custom attributes in business API

Custom attributes are supported in the content, copyright, MAM, on-demand schedule, person and trailer API.

Previously, the following types were available:

  • Boolean

  • Date

  • Decimal number

  • Drop-down list

  • Drop-down list for multiselection

  • Duration

  • Integer

  • Reference

  • String

  • Text

  • Web

From this version, custom attributes of the type Point in time can also be used in these APIs.

In the GET calls, such as GET /program, the following suffixes can be added to the call to either get only specified attributes in the response or all custom attributes of the supported types:

  • ?customAttributes=attributeName,attributeName

  • ?customAttributes=allCustomAttributes

For each custom attribute, the attribute name, value, and type will be given. The new type will be included in the response as follows:

...
    "customAttributes": [
        {
            "attributeName": "embargoTimestamp",
            "value": "2025-12-14T20:00:00Z",
            "type": "Point in time field"
        }
    ]
...

The Point in time custom attribute will be considered as a local timestamp in the Mediagenix Base platform in the default timezone, which is Brussels. When a GET call is done, the timestamp of the custom attribute is converted to UTC time.

For example, the Embargo timestamp from the example is 14/12/25 21:00:00. This is considered in the default timezone, Belgium, which is currently on UTC+1. When doing the GET call, the timestamp is returned as 2025-12-14T20:00:00Z.

In POST or PUT calls, an array of custom attributes needs to be provided with their attribute name and value. The new type should be specified as follows:

    "customAttributes": {
        "embargoTimestamp": "2025-12-14T20:00:00Z"
    }

The timestamp is converted from UTC to the default time zone before being saved in Mediagenix Base platform. This custom attribute type should follow the ISO 8601 format, meaning YYYY-MM-DDTHH:MM:SSZ.

For example, if 2025-12-14T20:00:00Z is sent, this will be saved as 21:00:00.

If the correct format is not used, the following error message is returned:

{
    "statusCode": "422",
    "message": "Operation cannot be completed due to violations",
    "timestamp": "2025-12-02T09:23:41Z",
    "concept": "Program",
    "id": "9502146329",
    "errors": [
        {
            "errorCode": "CORE-00002",
            "description": "Parsing error. Use ISO 8601 format",
            "data": [
                null
            ]
        }
    ]
}

API developers

The YAMLs will be updated in an upcoming version. Until then, the changes above can already be entered manually.

2025r5

Attributes removed from YAML of trailer API

This is mainly for API developers.

Previously, the YAML of the trailer API accidentally contained attributes which could not be used yet as the functionality to support them was not yet implemented.

The YAML has been updated for these changes. The latest version can be retrieved by using the GET /api call.

The promotedConcept property was removed from the BasicTrailerCampaign schema.
Several attributes were removed from the BasicTrailer schema.
The PromotedConcept schema was removed.

For easier viewing, the YAMLs can also be compared here: TextCompare

2024r8

Fix for using GET call on trailer campaign with removed promoted transmission

Previously, when

  • adding a promoted transmission to a trailer campaign;

  • on the Tools menu, selecting the Change everything command so everything is updated;

  • opening the promoted transmission in the transmission assistant;

  • deleting the transmission;

  • leaving the campaign unsynchronized so it indicates Transmission has been removed;

  • starting a Business API interface service with the trailer API;

  • and sending a GET /trailerCampaigns/{trailerCampaignId} call with the external reference of the trailer campaign;

a crash would occur because the transmission featured as the promoted transmission was gone and the external reference was no longer available.

This issue has been fixed. The promotedTransmissionId and multiplePromotedTransmissionIds attributes will be null and empty respectively.

{
    "trailerCampaignId": "9500546122",
    "title": "Femme",
    "identificationPolicy": "Automatic",
    "id": 1041,
    "promotedTransmissionId": null,
    "multiplePromotedTransmissionIds": [],
    "priority": null,
    "targetGroup": null,
    ...
  }

2022r12

Changed trailer campaign and trailer titles in trailer API

Because the titles of trailer campaigns and trailers now work differently (RN-5280), the trailer API has also been adjusted.

On the POST and PUT calls for trailer campaigns and trailers, the value of the title attribute will be put into the Default title field, as the Title cannot be edited anymore.

Note that it is still not possible to define placeholders in the POST or PUT calls directly. If this is needed, a template should be added in the URL of the calls.

In the GET calls for trailer campaign and trailers, the title attribute for campaigns and trailers in the response returns the read-only Title.

The title and trailerCampaignTitle attributes that can be used as search criteria in the GET search call for trailers also map to the Title of the campaign or trailer.

2022r10

Extra custom attribute types in content, MAM and trailer API

Previously, the content, MAM and trailer API already supported the following custom attribute types:

  • Boolean

  • Date

  • Drop-down

  • Integer

  • Reference

  • String

  • Text

  • Web

From this version, the following types have been added:

  • Duration:
    With default format HH:MM:SS:iii

  • Decimal number:
    A period should be used as decimal and maximum two digits after the decimal will be returned.

  • Drop-down list for multiselection

They have been added to the calls that already supported custom attributes. A new version of the YAMLs can be retrieved to use these attributes.

In the GET calls, the following suffixes can be added to the call to either get only specified attributes in the response or all custom attributes of the supported types:

  • ?customAttributes=attributeName,attributeName

  • ?customAttributes=allCustomAttributes

For each custom attribute, the attribute name, value and type will be given. The new types will be included in the response as follows:

    "customAttributes": [
        {
            "attributeName": "customMultiMA",
            "value": [
                "Value1",
                "Value2"
            ],
            "type": "Drop-down list for multiselection"
        },
        {
            "attributeName": "cADecimal",
            "value": 2.64,
            "type": "Decimal number field"
        },
        {
            "attributeName": "cADuration",
            "value": "02:03:04.000",
            "type": "Duration field"
        }
    ]

In POST or PUT calls, an array of custom attributes needs to be provided with their attribute name and value. If the value is left empty by using null or "" for some types, the custom attribute is emptied. The new types should be specified as follows:

    "customAttributes": {
        "cADecimal": 1.23,
        "cADuration": "01:32:20.000",
        "customMultiMA": ["TestWOnDynamicDomain23"]
    }

2022r8

Multiple promoted transmissions for trailer campaigns in trailer API

Previously, in the GET, POST, PUT /trailerCampaigns calls, the attribute promotedTransmissionId could only contain information for one promoted transmission.

In the GET call, if there were multiple promoted transmissions linked to a trailer campaign, the call response body would return "promotedTransmissionId": null. With the POST and PUT calls, it was only possible to create or update one promotedTransmissionId per trailer campaign. It could not be used when there were multiple promoted transmissions on the campaign.

To allow all scenarios to be updated using the API, the attribute multiplePromotedTransmissionIds has been added to the GET, POST and PUT /trailerCampaigns calls. It contains the external references of the transmissions linked as promoted transmissions to the trailer campaign and should be formatted as an array of objects.

In the GET call,

  • If there are no promoted transmissions linked to the trailer campaign, the call response body will return:

"promotedTransmissionId": null
"multiplePromotedTransmissionIds": []
  • If there is one promoted transmission linked to the trailer campaign, the call response body will return:

"promotedTransmissionId": “0123456789”
"multiplePromotedTransmissionIds": [“0123456789”]
  • If there are 2 or more promoted transmissions linked to a trailer campaign, the call response body will return:

"promotedTransmissionId": null
"multiplePromotedTransmissionIds": 
[ "0123456789", 
  "0123456780"]

In the POST or PUT call, the new attribute is optional and interacts with the promotedTransmissionId in the following ways:

  • If values are populated for both promotedTransmissionId and multiplePromotedTransmissionIds, then multiplePromotedTransmissionIds will take precedence.

  • If the array of multiplePromotedTransmissionIds is empty, all promoted transmissions will be removed.

  • When defining new IDs in the multiplePromotedTransmissionIds, existing promoted transmissions will be unlinked and the new transmissions will be linked. This is also the case when only one ID is defined.

  • If you want to make sure to only update a single promoted transmission via the promotedTransmissionId, the multiplePromotedTransmissionIds attribute should be omitted from the call body.

Error message for updating multiple promoted transmissions using wrong ID in trailer API

In a previous version, an issue was fixed in the POST or PUT /trailerCampaigns calls, when sending a null value for the promotedTransmissionId attribute.

Now, when the trailer campaign had more than one promoted transmission and a null is sent, still no changes are done but an error message is also returned:

{
    "statusCode": "422",
    "message": "Operation cannot be completed due to violations",
    "timestamp": "2022-11-30T19:45:48Z",
    "concept": "TrailerCampaign",
    "id": "8372119251",
    "errors": [
        {
            "errorCode": "TRAILER-00018",
            "description": "$_Trailer campaign can't be updated because there are multiple promoted transmissions linked to it.",
            "data": []
        }
    ]
}

Fix for trailer type in GET calls of trailer API

Previously, when using the GET /trailers and /trailerCampaigns calls of the trailer API, the type attribute for a trailer would always return the API reference of the Trailer type in the PSIProductType drop-down list, meaning the product type so it was the same for all trailers.

{
    "trailerCampaignId": "4325678051",
    "trailerId": "4325681145",
    "title": "A Trout in the Milk",
    "subtitle": null,
    "type": "TrailerProductType",
    "versionType": null,
    "versionNumber": 1
    ...
}

This issue has been fixed. It now returns the actual type defined on the trailer, which is a value coming from the PSITrailerType drop-down list.

{
    "trailerCampaignId": "4325678051",
    "trailerId": "4325681145",
    "title": "A Trout in the Milk",
    "subtitle": null,
    "type": "Billboard",
    "versionType": null,
    "versionNumber": 1
    ...
}

Fix for promoted transmission in search /trailers call of trailer API

It is possible to search for trailers with the GET /trailers call and use the external reference of a promoted transmission in the trailer campaign as search criterion.

Previously, however, this search was based on the external reference of the promoted transmission object instead of the reference of the transmission linked as promoted transmission. (Similar to the fix in 2022r7 below.)

This issue has been fixed. Also, the External reference field on a promoted transmission object has been removed as it should not be used.

2022r7

Fixes for promoted transmissions in trailer API

A transmission can be added as promoted transmission of a trailer campaign. Several issues have been fixed in the trailer API related to promoted transmissions.

1)

Previously, in the GET /trailerCampaigns call, the promotedTransmissionId attribute referred to the external reference of the promoted transmission object.

This issue has been fixed. It now returns the external reference of the original transmission that has been linked.

2)

Previously, in the POST or PUT /trailerCampaigns call, when sending a null value for the promotedTransmissionId attribute, the service would crash.

This issue has been fixed. If the campaign had one promoted transmission, it will be removed. If it had more than one, no changes are done since the attribute only applies in case of one promoted transmission.

3)

In the GET /trailerCampaigns call, the promotedTransmissionId attribute only returns one transmission. If there are multiple promoted transmissions, this attribute is null.

However, in the POST or PUT /trailerCampaigns call, if you specified the external reference of a different transmission, a second promoted transmission would be created instead of replacing it.

This issue has been fixed. Now, in the calls,

  • if there are no promoted transmissions, specifying a promotedTransmissionsId will link a new promoted transmission.

  • if there is one promoted transmission, specifying a promotedTransmissionsId will update the promoted transmission or try to remove it if the value is null.

  • if there are multiple promoted transmissions, specifying a promotedTransmissionsId will result in an error:

{
    "statusCode": "422",
    "message": "Operation cannot be completed due to violations",
    "timestamp": "2022-11-18T13:39:42Z",
    "concept": "TrailerCampaign",
    "id": "4325854051",
    "errors": [
        {
            "errorCode": "TRAILER-00015",
            "description": "Cannot update promotedTransmissionId because there are multiple promoted transmissions",
            "data": []
        }
    ]
}

2022r1

Addition of trailer API

In this version, the trailer API has been added to expose the trailer management functionality to external systems.

It contains the following calls:

Trailers:

  • POST /trailer to create or update a trailer,

  • GET /trailers to search for trailers,

  • PUT /trailers to update a trailer,

  • GET /trailers to retrieve the details of a trailer,

  • DELETE /trailers

Trailer campaigns:

  • POST /trailerCampaigns to create or update a campaign,

  • DELETE /trailerCampaigns

  • GET /trailerCampaigns to retrieve the details of a campaign,

  • PUT /trailerCampaigns to update a campaign,

Drop-downs:

    trailer types

    version types

    departments

    categories

    content target groups

    content values

    statuses of trailer type

    priorities

    target groups

    custom attribute drop-downs

General:

  • API call to retrieve the YAML file

  • Login call

The calls support custom attributes.

If a user is logged in, they need trailer management permissions to execute the trailer calls.S